# 作业：
# 使用文件和目录操作，定义一个统计指定目录大小的函数（注意目录中还有子目录）。

import os


def file_count(path):
    '''
    统计目录下的所有文件和所有子目录的大小
    :param path: 目录路径
    :return: 目录字节大小
    '''
    sum = 0
    dlist = os.listdir(path)  # 将路径下的文件或子目录以列表形式列出
    for f in dlist:  # 遍历所有的文件和zi目录
        file = os.path.join(path, f)  # 将文件和路径拼接，获取文件的完整路径
        if os.path.isfile(file):  # 判断遍历到的如果是文件
            sum += os.path.getsize(file)  # 计算文件大小并进行累加
        if os.path.isdir(file):  # 判断遍历到的如果是子目录
            sum += file_count(file)  # 递归运算
    return sum


path = input("请输入需要统计的目录的完整路径：")
number = file_count(path)
print(number)
